home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / ADV350.ZIP / motd.for < prev    next >
Text File  |  1990-11-23  |  1KB  |  52 lines

  1.       SUBROUTINE MOTD(ALTER)
  2. C      
  3. C  HANDLES MESSAGE OF THE DAY.  IF ALTER IS TRUE, READ A NEW MESSGE FROM THE
  4. C  WIZARD.  ELSE PRINT THE CURRENT ONE.  MESSAGE IS INITIALLY NULL.
  5. C
  6.       IMPLICIT INTEGER*4 (A-Z)
  7.       LOGICAL ALTER
  8.       CHARACTER*160 LINE
  9.       CHARACTER*80 LINES(20)
  10. C
  11.       OPEN(UNIT=4,FILE='ADVMOTD.DAT',STATUS='UNKNOWN',
  12.      1     FORM='UNFORMATTED')
  13. C      
  14.       IF(ALTER) THEN
  15. C
  16. C  HERE WE READ AND STORE A NEW MESSAGE OF THE DAY FROM THE WIZARD.  EACH
  17. C  LINE IS LIMITED TO 80 CHARACTERS, AND THERE ARE A MAXIMUM OF 20 LINES.
  18. C
  19.       CALL MSPEAK(23)
  20.       COUNT=0
  21.       DO 5 I=1,20
  22.     5 LINES(I)=' '
  23.    10 LINE=' '
  24.       READ(*,'(A)')LINE
  25.       IF(LINE.EQ.' ') GOTO 20
  26.       INDEX=LCHAR(LINE)
  27.       IF(INDEX.GT.80) THEN
  28.          CALL MSPEAK(24)
  29.          GOTO 10
  30.       ENDIF
  31.       COUNT=COUNT+1
  32.       LINES(COUNT)=LINE(1:INDEX)
  33.       IF(COUNT.GE.20) THEN
  34.          CALL MSPEAK(25)
  35.          GOTO 20
  36.       ENDIF
  37.       GOTO 10
  38.    20 WRITE(4)COUNT,(LINES(I),I=1,COUNT)
  39.       GOTO 90
  40.       ELSE
  41. C
  42. C  HERE WE READ THE MOTD FROM A FILE AND DISPLAY IT TO THE ADVENTURER
  43. C
  44.       READ(4)COUNT,(LINES(I),I=1,COUNT)
  45.       WRITE(*,*)
  46.       DO 30 I=1,COUNT
  47.    30 WRITE(*,'(1H+,A)')LINES(I)
  48.       ENDIF
  49.    90 CLOSE(UNIT=4)
  50.       RETURN
  51.       END
  52.